package com.hanmanyi.demo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 使用java调用给微信发消息的python脚本。
 * python只负责发消息，至于发送的对象、发送的内容、发送的时机，由java程序控制。
 * 至于为什么这么处理。。因为本人java还行，python只能读懂，略作修改，掌握的库并不多。
 * 
 * 这里的代码权当借鉴，至于如何使用，看自己的业务需要。
 * 
 * @auther hanmanyi
 * @time Apr 12, 2016 10:57:13 PMs
 */
public class WxSendMsgTest {
	
	/**
	 * Java调用Python脚本示例
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("------------开始调用Python脚本--------------");
		try {
			
			String scriptPath = "D:\\\\06.workspace\\\\work_python\\\\opt-wx\\\\sendMsg.py";
			
			String toUserName= "研发部";
			String message = "大家好，我是微信小助手，这是一条自动发送的消息，请勿回复。";
			
//			String toUserName= "kanen";
//			String message = "123";
			
			//第二个为python脚本所在位置，后面的为所传参数（得是字符串类型）
            String[] args1 = new String[] { "python", scriptPath, toUserName,message};
            Process proc = Runtime.getRuntime().exec(args1);// 执行py文件
            //解决中文乱码，参数可传中文
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream(),"gb2312"));
            String line = null;
            
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            in.close();
            proc.waitFor();
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
	}

}
